﻿using Platformer_Example.Controller.Input;
using Transformable_Engine_v2.Engine.GameObjects.Containers;
using Transformable_Engine_v2.Engine.Input;

namespace Platformer_Example.Screen.Common
{
    public abstract class BaseScreen : Container
    {
        public abstract void Keypressed(InputState.Key key);
        public abstract void KeyReleased(InputState.Key key);
        public abstract void InvalidKeyPressed(KeyboardInput.Key keyCode);

        public delegate void ChangeScreenHandler(BaseScreen nextMenu);
        public ChangeScreenHandler OnChangeScreen;

        protected void ChangeScreen(BaseScreen nextMenu)
        {
            if (OnChangeScreen != null)
                OnChangeScreen(nextMenu);
        }

        
    }
}